{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-07-11T06:49:21.854576Z",
     "start_time": "2018-07-11T06:49:21.851261Z"
    }
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "from matplotlib import pyplot as plt\n",
    "from tqdm import tqdm\n",
    "import utils"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-07-11T06:45:32.861029Z",
     "start_time": "2018-07-11T06:45:32.835364Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 20/20 [00:00<00:00, 1251.64it/s]\n"
     ]
    }
   ],
   "source": [
    "y = utils.read_pickles('../data/label').TARGET"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-07-11T06:45:33.191970Z",
     "start_time": "2018-07-11T06:45:33.187197Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.08072881945686496"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-07-11T06:45:33.860264Z",
     "start_time": "2018-07-11T06:45:33.572549Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 20/20 [00:00<00:00, 170.15it/s]\n"
     ]
    }
   ],
   "source": [
    "test = utils.load_test()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-07-11T06:45:34.053874Z",
     "start_time": "2018-07-11T06:45:34.050783Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(48744, 249)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-07-11T06:45:34.776877Z",
     "start_time": "2018-07-11T06:45:34.773224Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3935.0455756054253"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "48744 * y.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-07-11T06:45:35.110717Z",
     "start_time": "2018-07-11T06:45:35.108717Z"
    }
   },
   "outputs": [],
   "source": [
    "n = 3935"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-07-11T06:45:35.396288Z",
     "start_time": "2018-07-11T06:45:35.393839Z"
    }
   },
   "outputs": [],
   "source": [
    "y_test = [1] * n + [0] * (test.shape[0]-n)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-07-11T06:45:36.550621Z",
     "start_time": "2018-07-11T06:45:36.547853Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "48744"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-07-11T06:45:37.750857Z",
     "start_time": "2018-07-11T06:45:37.747747Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "9748"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "public_size = int(len(y_test) * 0.2)\n",
    "public_size"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-07-11T06:50:19.215164Z",
     "start_time": "2018-07-11T06:49:58.157327Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 5999/5999 [00:21<00:00, 284.95it/s]\n"
     ]
    }
   ],
   "source": [
    "li_sum = [np.sum(np.random.choice(y_test, replace=False, size=public_size)) for i in tqdm(range(5999))]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-07-11T06:50:19.457169Z",
     "start_time": "2018-07-11T06:50:19.216692Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f3ae84298d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pd.Series(li_sum).plot(kind='hist', bins=30)\n",
    "plt.title('public LB sum')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-07-11T06:49:58.155801Z",
     "start_time": "2018-07-11T06:49:37.046927Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 5999/5999 [00:21<00:00, 284.26it/s]\n"
     ]
    }
   ],
   "source": [
    "li_mean = [np.mean(np.random.choice(y_test, replace=False, size=public_size)) for i in tqdm(range(5999))]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-07-11T06:50:19.599507Z",
     "start_time": "2018-07-11T06:50:19.458703Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f3ae83fa7b8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pd.Series(li_mean).plot(kind='hist', bins=30)\n",
    "plt.title('public LB mean')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-07-11T06:56:27.952211Z",
     "start_time": "2018-07-11T06:56:27.627862Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f3ae83f8c50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pd.Series(li_mean).plot(kind='kde', bw_method=0.3)\n",
    "plt.title('public LB mean')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-07-11T06:56:56.417274Z",
     "start_time": "2018-07-11T06:56:55.912089Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f3ad8172438>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pd.Series(li_mean).plot(kind='kde', bw_method=4)\n",
    "plt.title('public LB mean')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-07-11T07:36:40.640107Z",
     "start_time": "2018-07-11T07:36:40.630889Z"
    }
   },
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-07-11T07:37:07.831593Z",
     "start_time": "2018-07-11T07:37:00.977257Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "100%|██████████| 20/20 [00:05<00:00,  3.51it/s]\n"
     ]
    }
   ],
   "source": [
    "train = utils.load_train()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-07-11T07:38:49.160489Z",
     "start_time": "2018-07-11T07:38:46.438940Z"
    }
   },
   "outputs": [],
   "source": [
    "X_train, X_test, y_train, y_test = train_test_split(train, y, stratify=y, random_state=1,  test_size=0.2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2018-07-11T07:38:58.184223Z",
     "start_time": "2018-07-11T07:38:58.177516Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.08072908198107379, 0.08072776937710356)"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_train.mean(), y_test.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
